#!/bin/bash

# BEL 生成器启动脚本
# 自动检测并配置正确的 vLLM 环境

if [ $# -eq 0 ]; then
    echo "用法: $0 <配置文件路径>"
    echo "示例: $0 bel/bel_config.yaml"
    exit 1
fi

CONFIG_FILE=$1

echo "启动 BEL 生成器..."
echo "配置文件: $CONFIG_FILE"

# 检查是否存在项目定制的 vLLM
if [ -d "vllm" ] && [ -f "start.sh" ]; then
    echo "🔍 检测到项目定制版本的 vLLM"
    echo "📦 正在配置项目定制的 vLLM 环境..."
    
    # 检查是否已经安装了项目定制的 vLLM
    if [ ! -f "vllm/vllm/_C.abi3.so" ]; then
        echo "🚀 首次运行，正在安装项目定制的 vLLM..."
        bash start.sh
        echo "✅ 项目定制的 vLLM 安装完成"
    else
        echo "✅ 项目定制的 vLLM 已安装"
    fi
    
    # 强制启用开发模式
    echo "🔧 启用 vLLM 开发模式..."
    cd vllm
    python3 python_only_dev.py || {
        echo "⚠️  开发模式启用遇到问题，尝试继续..."
    }
    cd ..
    
    # 验证开发模式是否生效
    VLLM_PACKAGE_PATH=$(python3 -c "import vllm; print(vllm.__file__)" 2>/dev/null | head -1 | xargs dirname 2>/dev/null)
    if [ -n "$VLLM_PACKAGE_PATH" ] && [ -L "$VLLM_PACKAGE_PATH" ]; then
        echo "✅ vLLM 开发模式已正确启用"
    else
        echo "⚠️  vLLM 开发模式可能未完全生效，但将尝试继续"
    fi
    echo "✅ 已启用项目定制的 vLLM 开发模式"
else
    echo "⚠️  未检测到项目定制的 vLLM，将使用公开版本（需要模型注册）"
fi

# 运行 BEL 生成器（添加 --config 参数）
echo "🚀 正在启动 BEL 生成器..."
python3 scripts/run_bel_generator.py --config $CONFIG_FILE 